

import 'dart:io';

import 'package:equatable/equatable.dart';
import 'package:excel_utils/pages/cpc_report/bean/china_post_file_bean.dart';
import 'package:excel_utils/pages/cpc_report/bean/china_post_luggage_bean.dart';
import 'package:excel_utils/pages/cpc_report/bean/fee_item_bean.dart';
import 'package:excel_utils/pages/cpc_report/bean/waybill_managent_bean.dart';
import 'package:excel_utils/pages/cpc_report/cpc_file/bean/cpc_file_result_bean.dart';

abstract class CpcFileEvent extends Equatable {
  const CpcFileEvent();
}


class CpcFileWaybillManagementEvent extends CpcFileEvent {

  final String? sheetName;
  final File? file;

  const CpcFileWaybillManagementEvent({this.file, this.sheetName});

  @override
  List<Object?> get props => [file,sheetName];

}

class CpcFileChinaPostFileEvent extends CpcFileEvent {

  final String? sheetName;
  final File? file;

  const CpcFileChinaPostFileEvent({this.file, this.sheetName});

  @override
  List<Object?> get props => [file,sheetName];

}

class CpcFileFeeitemlistEvent extends CpcFileEvent {

  final String? sheetName;
  final  File? file;

  const CpcFileFeeitemlistEvent({this.file, this.sheetName});

  @override
  List<Object?> get props => [file,sheetName];

}

class CpcFileDataMergeEvent extends CpcFileEvent {

  final List<WaybillManagementBean> waybillManagementList;
  final List<ChinaPostFileBean> chinaPostFileList;
  final List<FeeItemBean> feeItemList;

  const CpcFileDataMergeEvent({required this.waybillManagementList, required this.chinaPostFileList, required this.feeItemList});

  @override
  List<Object?> get props => [waybillManagementList, chinaPostFileList, feeItemList];

}


class CpcFileWriteFileEvent extends CpcFileEvent {

  final List<CpcFileResultBean> cpcResultList;
  final File writeFile;
  final String writeName;

  const CpcFileWriteFileEvent({required this.cpcResultList, required this.writeFile, required this.writeName});

  @override
  List<Object?> get props => [cpcResultList,writeFile,writeName];
}

